package com.zhuss.core.db.dao.ext;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.zhuss.bean.bo.core.role.SearchRoleBo;
import com.zhuss.bean.unit.core.role.RoleBean;
import com.zhuss.bean.vo.core.role.DetailRoleVo;
import com.zhuss.bean.vo.core.role.ListRoleVo;
import com.zhuss.core.db.dao.gen.RoleMapper;
import com.zhuss.core.db.entity.Role;

@Mapper
public interface RoleDao extends RoleMapper {

	void create(Role record);
	
	void delete(Role record);
	
	List<Role> listAll(@Param("area") Integer area, @Param("status") Integer status);
	
	List<Long> listRoleId(@Param("area") Integer area, @Param("status") Integer status);
	
	List<RoleBean> listById(@Param("roleIdList") List<Long> roleIdList);
	
	List<Role> getByList(@Param("roleIdList") List<Long> roleIdList);

	List<ListRoleVo> list(SearchRoleBo bo);

	Integer countList(SearchRoleBo bo);

	DetailRoleVo detail(@Param("roleId") Long roleId);
	
	List<Role> listByName(@Param("name") String name, @Param("area") Integer area);
	
	List<Role> listByType(@Param("type") Integer type);
    
}